package com.yangjun.dao.mybatis2.mapper.waresAnalyse;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.yangjun.entity.waresAnalyse.BuyInputEntity;
import com.yangjun.entity.waresAnalyse.DayOutRateEntity;
import com.yangjun.entity.waresAnalyse.GoodsTableEntity;
import com.yangjun.entity.waresAnalyse.MatchLinesEntity;
import com.yangjun.entity.waresAnalyse.MonthOutRateEntity;
import com.yangjun.entity.waresAnalyse.SelectWareNameEntity;
import com.yangjun.entity.waresAnalyse.SupplierInputEntity;
import com.yangjun.entity.waresAnalyse.VisWareRankEntity;
import com.yangjun.entity.waresAnalyse.VisWareRankTotalEntity;
import com.yangjun.entity.waresAnalyse.WareSummaryEntity;
import com.yangjun.entity.waresAnalyse.WaresAnalyseDay;
import com.yangjun.entity.waresAnalyse.YearBuyInputEntity;

public interface WaresAnalyseMapper {

	/**
	 * 搜索
	 * @param search
	 * @return
	 */
	List<String> getSearchContent(@Param(value="search") String search);
	List<String> getSearchContentSuppliername();
	
	
	List<GoodsTableEntity> getGoodsTableExcel(Map<String,String> map);
	
	
	/**
	 * 获取科室分类
	 * @param kstype
	 * @return
	 */
	List<String> getKsType(@Param(value="kstype") String kstype);
	
	/**
	 * 商品列表
	 * @param map
	 * @return
	 */
	List<WareSummaryEntity> getGoodsTable(Map<String,Object> map);
	
	/**
	 * 商品经理 --商品列表
	 * @param map
	 * @return
	 */
	List<WareSummaryEntity> getManagerGoodsTable(Map<String,Object> map);
	
	/**
	 * 商品经理--无需过滤商品(无需订阅，包含所有商品)
	 * @param map
	 * @return
	 */
	List<WareSummaryEntity> getNoFilterManagerGoodsTable(Map<String,Object> map);
	
	
	int getManagerHave(Map<String,Object> map);
	
	
//	List<GoodsTableEntity> getGoodsTableV1(Map<String,Object> map);
	
	
	List<String> getGoodsId(Map<String,Object> map);
	
	
	/**
	 * 出库数量 按月
	 * @param map
	 * @return
	 */
	List<MonthOutRateEntity> getMonthOutQty(Map<String,Object> map);
	
	List<MonthOutRateEntity> getMonthOutRate(Map<String,Object> map);
	
	
	List<MonthOutRateEntity> getMonthOutAddRate(Map<String,Object> map);
	
	/**
	 * 购进要单独处理-- 取max
	 * @param map
	 * @return
	 */
	List<MonthOutRateEntity> getMonthInput(Map<String,Object> map);
	
	
	/**
	 * 出库数量 按天
	 * @param map
	 * @return
	 */
	List<DayOutRateEntity> getDayOutQty(Map<String,Object> map);
	List<DayOutRateEntity> getDayOutRate(Map<String,Object> map);
	List<DayOutRateEntity> getDayOutAddRate(Map<String,Object> map);
	
	/**
	 * 购进要单独处理-- 取max
	 * @param map
	 * @return
	 */
	List<DayOutRateEntity> getDayInput(Map<String,Object> map);
	
	/**
	 * 库存趋势
	 * @param map
	 * @return
	 */
	List<WaresAnalyseDay> getStockQty(Map<String,Object> map);
	
	
	/**
	 * 购进
	 * @param map
	 * @return
	 */
	List<BuyInputEntity> getBuyInput(Map<String,Object> map);
	
	/**
	 * 购进右边的图
	 * @param map
	 * @return
	 */
	List<BuyInputEntity> getBuyIncountAmount(Map<String,Object> map);
	List<YearBuyInputEntity> getBuyIncountAmountTable(Map<String,Object> map);
	
	
	/**
	 * 购进 点击供应商
	 * @param map
	 * @return
	 */
	List<BuyInputEntity> getBuyInputClickSupplier(Map<String,Object> map);
	
	
	/**
	 * 单品采购信息
	 * @param map
	 * @return
	 */
	List<SupplierInputEntity> getSupplierInput(Map<String,Object> map);
	
	
	List<SelectWareNameEntity> getSelectWareName(Map<String,Object> map);
	
	
	/**
	 * 搭配商品排行
	 * @param map
	 * @return
	 */
	List<VisWareRankEntity> visWareRankPage(Map<String,Object> map);
	List<VisWareRankEntity>  visMainWareRankPage(Map<String,Object> map);
	VisWareRankTotalEntity visWareRankTotal(Map<String,Object> map);
	
	/**
	 * 搭配组合排行
	 * @param map
	 * @return
	 */
	List<VisWareRankEntity> mixWareRankPage(Map<String,Object> map);
	
	/**
	 * 组合商品详情
	 * @param map
	 * @return
	 */
	List<VisWareRankEntity> mixWareRankDetail(Map<String,Object> map);
	List<VisWareRankEntity> mixWareRankDetailExcel(Map<String,Object> map);
	
	
	/**
	 * 搭配趋势图
	 * @param map
	 * @return
	 */
	List<MatchLinesEntity> getMonthMatchLine(Map<String,Object> map);
	List<MatchLinesEntity> getDayMatchLine(Map<String,Object> map);
}
